速報APP / 房屋與房產 / Arduino Home Automation Controller

Arduino Home Automation Controller

價格:免費

更新日期:2018-04-17

檔案大小:1.5M

目前版本:1.0

版本需求:Android 4.4 以上版本

官方網站:http://www.codepur.com

Email:pushpamkumr007@gmail.com

Arduino Home Automation Controller(圖1)-速報App

Used as a Bluetooth remote control for Arduino.

Code for Arduino;

#include

const int sensorIn = A0;

int mVperAmp = 66; // use 100 for 20A Module and 66 for 30A Module

int port1=2,port2=3,port3=4,port4=5,port5=6,port6=7,port7=8,port8=9;

double Voltage = 0;

double VRMS = 0;

double AmpsRMS = 0;

void setup(){

Serial.begin(9600);

pinMode(port1, OUTPUT);

pinMode(port2, OUTPUT);

pinMode(port3, OUTPUT);

pinMode(port4, OUTPUT);

pinMode(port5, OUTPUT);

pinMode(port6, OUTPUT);

pinMode(port7, OUTPUT);

pinMode(port8, OUTPUT);

}

void loop(){

while (Serial.available() > 0) {

int inByte = Serial.read();

switch (inByte) {

case 'a':

digitalWrite(port1,HIGH);

Arduino Home Automation Controller(圖2)-速報App

break;

case 'b':

digitalWrite(port1,LOW);

break;

case 'c':

digitalWrite(port2,HIGH);

break;

case 'd':

digitalWrite(port2,LOW);

break;

case 'e':

digitalWrite(port3,HIGH);

break;

case 'f':

digitalWrite(port3,LOW);

break;

case 'g':

digitalWrite(port4,HIGH);

break;

case 'h':

digitalWrite(port4,LOW);

break;

case 'i':

digitalWrite(port5,HIGH);

break;

case 'j':

digitalWrite(port5,LOW);

Arduino Home Automation Controller(圖3)-速報App

break;

case 'k':

digitalWrite(port6,HIGH);

break;

case 'l':

digitalWrite(port6,LOW);

break;

case 'm':

digitalWrite(port7,HIGH);

break;

case 'n':

digitalWrite(port7,LOW);

break;

case 'o':

digitalWrite(port8,HIGH);

break;

case 'p':

digitalWrite(port8,LOW);

break;

}

}

Voltage = getVPP();

VRMS = (Voltage/2.0) *0.707;

AmpsRMS = (VRMS * 1000)/mVperAmp;

Serial.print("\n");

}

Arduino Home Automation Controller(圖4)-速報App

float getVPP()

{

float result;

int readValue; //value read from the sensor

int maxValue = 0; // store max value here

int minValue = 1024; // store min value here

uint32_t start_time = millis();

while((millis()-start_time) < 1000) //sample for 1 Sec

{

readValue = analogRead(sensorIn);

// see if you have a new maxValue

if (readValue > maxValue)

{

/*record the maximum sensor value*/

maxValue = readValue;

}

if (readValue < minValue)

{

/*record the maximum sensor value*/

minValue = readValue;

}

}

// Subtract min from max

result = ((maxValue - minValue) * 5.0)/1024.0;

return result;

Arduino Home Automation Controller(圖5)-速報App

}

Arduino Home Automation Controller(圖6)-速報App